import { ChatCompletionMessageParam } from 'openai/resources/chat';
import { readFileSync } from 'fs';
import { join } from 'path';

// 分析足球
const analysis_json = {
  rating: '预测信心度评分（1-10分）：综合考虑数据完整度、双方实力差距明确度、状态稳定性等因素',
  probabilities: {
    home_win: '主队获胜概率，百分比格式，例如 45.2%',
    draw: '平局概率，百分比格式，例如 30.5%',
    away_win: '客队获胜概率，百分比格式，例如 24.3%',
  },
  analysis_breakdown: {
    strength_and_form: '对实力与状态对比的文本分析',
    motivation: '对战意与动机的文本分析',
    key_factors: '影响比赛结果的关键因素分析，如伤停情况、战术克制、主客场因素、心理优势等',
  },
  most_likely_scorelines: ['最可能比分，例如 2-1,1-0 等，可以输出不超过四个'],
  final_investment_advice: '最终的综合性分析总结文本',
};
export type AnalysisJson = typeof analysis_json;

// 缓存变量，防止多次读取
let promptCache: string | null = null;

function loadPromptFromFile(): string {
  if (promptCache === null) {
    const filePath = join(__dirname, 'football-analysis.md');
    promptCache = readFileSync(filePath, 'utf-8');
  }
  return promptCache;
}

export function getAnalysisPrompt() {
  const promptContent = loadPromptFromFile();

  return [
    {
      role: 'system',
      content: promptContent,
    },
  ] as ChatCompletionMessageParam[];
}
